﻿Option Explicit On
Option Strict On

Imports TreeCreeper01Interfaces

Public MustInherit Class cStudyAbstract

    Implements IStudy

    Protected mTaxonomicTree As ITaxonomicTree

    Protected Sub New()

        mTaxonomicTree = New cTaxonomicTree

    End Sub

    Public ReadOnly Property TaxonomicTree() As ITaxonomicTree Implements IStudy.TaxonomicTree
        Get
            Return mTaxonomicTree
        End Get
    End Property

    Public Function CreateBaseSpeciesList(Optional ByVal Abundances As IAbundanceCollection = Nothing) As ISpeciesAbundanceList Implements IStudy.CreateBaseSpeciesAbundanceList

        Dim BaseSpeciesList As ISpeciesAbundanceList

        ' The two parameters here are intentional, for recursive re-creation use, do NOT modify here!
        BaseSpeciesList = New cSpeciesAbundanceList(mTaxonomicTree, Abundances)

        Return BaseSpeciesList

    End Function


End Class
